Vertex AIのフルマネージドなMistral AI モデルを利用してみる
データ事業本部 インテグレーション部 機械学習チームの鈴木です。
先月、Google CloudのVertex AIにて、APIとして利用できるマネージドなMistral AIモデルの一般提供が開始されました。
どのように利用できるのか確認してみましたのでご共有します。
Vertex AIで提供されるMistral AIモデル
Model Gardenから利用できるモデルが確認できます。
記事執筆時点で、以下が提供されていました。
- マネージドAPI
- Mistral Large(2407)
- Mistral Nemo
- Codestral
- デプロイが必要なモデル
- Mixtral
- Mistral-7B
今回はMistral Large(2407)を利用してみました。このモデルは日本語を含む多言語に対応しています。
今回試したモデルは従量課金で提供されています。入力するプロンプトのトークン数および出力のトークン数に応じて各々課金されます。
リージョンはus-central1
を利用しました。ガイドから対応リージョンをご確認ください。
なお、今回はマネージドAPIのため、デプロイは不要なので参考までですが、Model Gardenからのモデルのデプロイについては、以下の資料があります。
やってみる
以下ガイドを参考にしつつ、curlからMistral Large(2407)を利用してみました。
準備
前提として、Vertex AI API(aiplatform.googleapis.com)が有効で、作業をするユーザーにモデルの有効化およびVertex AI APIを利用するための権限があることとします。
Mistral AIモデルを使用するために、まずはModel Gardenからモデルを有効化しました。
Vertex AIのModel Gardenから、タスク固有のソリューションのセクションにあるMistral Large(2407)をクリックしました。
初期の状態では有効にする
ボタンが表示されているため、これをクリックしました。Agreements画面が表示されたので、内容を確認し、有効化しました。
これで利用のための準備は完了です。簡単ですね。
モデルカードではPythonおよびcurlからのモデルの利用方法など様々な情報が記載されているので、確認することをお勧めします。
モデルの利用
まず、リクエストの内容をJSONファイルに記載しました。以下のファイルを作成しました。
{
"model": "mistral-large",
"messages": [
{
"role": "user",
"content": "おはようございます。"
}],
"max_tokens": 1000
}
ポイントとしては、model
のバリューにはモデル名をモデルバージョンを表す@2407
なしで記載する点です。
Google Cloudにログインし、Cloud Shellを開いて、このファイルをアップロードしました。
以下のコマンドを実行し、Vertex AI APIにリクエストを送りました。$PROJECT_ID
だけ自身のものに置き換えてください。urlの方にはモデルバージョンを指定します。
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://us-central1-aiplatform.googleapis.com/v1/projects/$PROJECT_ID/locations/us-central1/publishers/mistralai/models/mistral-large@2407:rawPredict"
以下のように回答が返ってくることを確認できました。
{
"id": "レスポンスのID",
"object": "chat.completion",
"created": 1723283601,
"model": "mistral-large",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "おはようございます!今日も一日頑張りましょう。何かお手伝いできることがあれば教えてください。",
"tool_calls": null
},
"finish_reason": "stop",
"logprobs": null
}
],
"usage": {
"prompt_tokens": 16,
"total_tokens": 67,
"completion_tokens": 51
}
}
呼び出しは単一呼び出しおよびストリーミング呼び出しの両方に対応しています。ストリーミング呼び出しの場合は、urlの末尾でstreamRawPredict
を指定します。
最後に
簡単にですが、Vertex AIでAPIとして利用できるマネージドなMistral AIモデルの利用方法についてご紹介しました。
マネージドなMistral AIモデルはVertex AIのパートナーモデルの一つとして提供されています。インフラストラクチャのプロビジョニングや管理が不要なため、興味がある方はぜひチェックしてみてください。